<?php
namespace app\api\controller;

use app\api\model\Configs;
use app\api\model\Merchant;

use dh2y\qrcode\QRcode;
use EasyWeChat\Factory;

use think\Image;

class User extends Base
{
    // 不需要验证
    protected $excludeValidateCheck = [
        'memberInfo',
    ];

    // 定义自动实例化模型
    protected $ModelPath = 'User';

    public function information(){
        $userId = request()->UserModel->id;
        $infos = \app\api\model\User::where('id', $userId)->find();

        $configs = Configs::column('content', 'alias');
        $is_open_wallets = $configs['IS_OPEN_WALLETS'];

        $is_not_vip = $infos['level_id'] > 0 ? false : true;

        $is_not_merchant = ($infos['level_id'] > 0 && $infos['merchant_status'] == 'off') == true ? true : false;

        //整理数据
        $data = [
            'main_title'=>'邀请海报',
            'activity1'=>[
                'enable'=>true,
                'name'=>'',
                'img'=>get_oss_url('/static/system/accounts/1.jpg'),
                'alias'=>'mode.lists',
                'params'=>[
                    'type'=>'mode_one'
                ],
            ],
            'activity2'=>[
                'enable'=>false,
                'name'=>'',
                'img'=>get_oss_url('/static/system/accounts/2.jpg'),
                'alias'=>'mode.lists',
                'params'=>[
                    'type'=>'mode_two'
                ],
            ],
            'activity3'=>[
                'enable'=>false,
                'name'=>'',
                'img'=>get_oss_url('/static/system/accounts/3.jpg'),
                'alias'=>'mode.lists',
                'params'=>[
                    'type'=>'mode_three'
                ],
            ],
            'infos'=> [
                'avatar'=>get_new_url('/static/system/logo.png'),
                'nickname'=>$infos['nickname'],
                'rows'=>[
                    'ID：' . $infos['id'],
                    '手机号码：' . $infos['phone'],
                    '邀请码：' . $infos['invite_code'],
                ],
//                'mode_one_level_name'=>$infos['mode_one_level_name'],
//                'mode_three_level_name'=>$infos['mode_three_level_name'],
                'idents'=>[],
                'qr'=>[],
            ],
            'vip'=> [
                'enable'=>$is_not_vip,
                'text'=>'开通会员 尊享超值权益',
                'button'=>'立即开通',
                'alias'=>'account.open_membership',
                'params'=>[],
            ],
            'merchant'=> [
                'enable'=>$is_not_merchant,
                'text'=>'入驻商家 尊享超值权益',
                'button'=>'立即入驻',
                'alias'=>'account.open_merchant',
                'params'=>[],
            ],
            'statistics'=> [
                'enable'=>$is_open_wallets == 'on' ? true : false,
                'lists'=>[
                    [
                        'name'=>'我的积分',
                        'text'=>calc_amount($infos['score']),
                        'alias'=>'user_score.index',
                        'params'=>[
//                            'alias'=>'balance'
                        ],
                    ],
//                    [
//                        'name'=>'消费积分',
//                        'text'=>$infos['integral'] / 100,
//                        'alias'=>'account.wallets.logs',
//                        'params'=>[
//                            'alias'=>'integral'
//                        ],
//                    ],
//                    [
//                        'name'=>'绿色积分',
//                        'text'=>$green_points / 100,
//                        'alias'=>'account.wallets.logs',
//                        'params'=>[
//                            'alias'=>'green_points'
//                        ],
//                    ],

                ]
            ],
            'sections'=> [
                'orders'=>[
                    'enable'=>false,
                    'title'=>'我的订单',
                    'more'=>'查看全部',
                    'alias'=>'orders.lists',
                    'params'=>[],
                    'lists'=>[
                        [
                            'name'=>'待付款',
                            'img'=>get_oss_url('/static/system/account/orders/paying.png'),
                            'alias'=>'orders.lists',
                            'count'=>0,
                            'params'=>['type'=>'paying'],

                        ],
                        [
                            'name'=>'待发货',
                            'img'=>get_oss_url('/static/system/account/orders/delivery.png'),
                            'alias'=>'orders.lists',
                            'count'=>0,
                            'params'=>['type'=>'pending'],
                        ],
                        [
                            'name'=>'待收货',
                            'img'=>get_oss_url('/static/system/account/orders/received.png'),
                            'alias'=>'orders.lists',
                            'count'=>0,
                            'params'=>['type'=>'delivery'],
                        ],
//                        [
//                            'name'=>'已完成',
//                            'img'=>get_oss_url('/static/system/account/finished.png'),
//                            'alias'=>'account.orders.lists',
//                            'count'=>0,
//                            'params'=>['type'=>'done'],
//                        ],
                        [
                            'name'=>'售后服务',
                            'img'=>get_oss_url('/static/system/account/orders/closed.png'),
                            'alias'=>'orders.lists',
                            'count'=>0,
                            'params'=>['type'=>'received'],
                        ],
                    ]
                ],
                'fans'=>[
                    'enable'=>true,
                    'title'=>'店面管理',
                    'lists'=>[
                        [
                            'name'=>'邀请好友',
                            'img'=>get_oss_url('/static/system/accounts/teams/icon1.png'),
//                            'class_name'=>'iconfont icon-fenxiangerweima bg-E42D0E iconcolorlv',
                            'alias'=>'account.invite',
                            'params'=>[],
                            'enable'=>true,
                        ],
                        [
                            'name'=>'店铺会员',
                            'img'=>get_oss_url('/static/system/accounts/teams/icon3.png'),
                            'class_name'=>'iconfont icon-tuanduizhanghao iconcolorho',
                            'alias'=>'account.teams',
                            'params'=>[],
                            'enable'=>true,
                        ],
                        [
                            'name'=>'我的订购',
                            'img'=>get_oss_url('/static/system/accounts/teams/icon4.png'),
                            'class_name'=>'iconfont icon-tuanduizhanghao iconcolorho',
                            'alias'=>'mode.orders.lists',
                            'params'=>[],
                            'enable'=>true,
                        ],
//                        [
//                            'name'=>'商家码',
//                            'img'=>get_oss_url('/static/system/accounts/teams/icon5.png'),
//                            'class_name'=>'iconfont icon-tuanduizhanghao iconcolorho',
//                            'alias'=>'merchant.invite',
//                            'params'=>[],
//                            'enable'=>$is_merchant,
//                        ],
                    ]
                ],

                'tools'=>[
                    'enable'=>true,
                    'title'=>'我的工具',
                    'lists'=>[
//                        [
//                            'name'=>'我的店铺',
//                            'img'=>get_oss_url('/static/system/account/tools/icon2.png'),
//                            'alias'=>'teams.index',
//                            'params'=>[],
//                        ],
//                        [
//                            'name'=>'修改密码',
//                            'img'=>get_oss_url('/static/system/account/tools/icon8.png'),
//                            'alias'=>'account.settings',
//                            'params'=>[],
//                        ],
//
//
//
////                        [
////                            'name'=>'会员中心',
////                            'img'=>get_oss_url('/static/system/account/tools/icon1.png'),
////                            'alias'=>'teams.index',
////                            'params'=>[],
////                        ],
////                        [
////                            'name'=>'地址管理',
////                            'img'=>get_oss_url('/static/system/account/tools/icon3.png'),
////                            'alias'=>'account.aa',
////                            'params'=>[],
////                        ],
////                        [
////                            'name'=>'实名认证',
////                            'img'=>get_oss_url('/static/system/account/tools/icon5.png'),
////                            'alias'=>'account',
////                            'params'=>[],
////                        ],
////                        [
////                            'name'=>'钱包管理',
////                            'img'=>get_oss_url('/static/system/accounts/tools/icon2.png'),
////                            'alias'=>'account.wallets',
////                            'params'=>[
////                                'alias'=>'balance'
////                            ],
////                        ],
////                        [
////                            'name'=>'常见问题',
////                            'img'=>get_oss_url('/static/system/account/tools/icon6.png'),
////                            'alias'=>'account',
////                            'params'=>[],
////                        ],
////
////                        [
////                            'name'=>'专属顾问',
////                            'img'=>get_oss_url('/static/system/account/tools/icon7.png'),
////                            'alias'=>'account',
////                            'params'=>[],
////                        ],
////                        [
////                            'name'=>'意见反馈',
////                            'img'=>get_oss_url('/static/system/accounts/tools/icon4.png'),
////                            'alias'=>'account',
////                            'params'=>[],
////                        ],
////                        [
////                            'name'=>'我的协议',
////                            'img'=>get_oss_url('/static/system/accounts/tools/icon10.png'),
////                            'alias'=>'account',
////                            'params'=>[],
////                        ],
////                        [
////                            'name'=>'众益健康设置',
////                            'img'=>get_oss_url('/static/system/accounts/tools/icon8.png'),
////                            'alias'=>'account.settings',
////                            'params'=>[],
////                        ],
//
//                        [
//                            'name'=>'退出登录',
//                            'img'=>get_oss_url('/static/system/account/tools/icon10.png'),
////                            'class_name'=>'iconfont icon-tuichu iconcolorzi',
////                            'view_class_name'=>'bg-62ecbb',
//                            'alias'=>'oauth.oauth',
//                            'params'=>[],
//                        ],
                    ]
                ],
                'lists'=>[
                    'enable'=>true,
                    'title'=>'',
                    'lists'=>[[]]
                ],

            ],
            'popups'=>[
                'autoShow'=>[
                    'enable'=>true,
                    'img'=>get_oss_url('/static/logos/ysyp.png'),
                    'width'=>0,
                    'height'=>0,
                    'alias'=>'none',
                    'params'=>[],
                    'force'=>true,
                ],
                'services'=>[
                    'title'=>'',
                    'lists'=>[],
                    'tel'=>'',
                ],
            ],
        ];
        if(!$is_not_vip)
        {
            $data['sections']['tools']['lists'][] = [
                'name'=>'邀请海报',
                'img'=>get_oss_url('/static/system/account/tools/icon4.png'),
                'alias'=>'account.invite',
                'params'=>[],
            ];
        }
        $data['sections']['tools']['lists'][] = [
            'name'=>'我的店铺',
            'img'=>get_oss_url('/static/system/account/tools/icon2.png'),
            'alias'=>'teams.index',
            'params'=>[],
        ];
        $data['sections']['tools']['lists'][] = [
            'name'=>'修改密码',
            'img'=>get_oss_url('/static/system/account/tools/icon8.png'),
            'alias'=>'account.settings',
            'params'=>[],
        ];
        $data['sections']['tools']['lists'][] = [
            'name'=>'退出登录',
            'img'=>get_oss_url('/static/system/account/tools/icon10.png'),
            'alias'=>'oauth.oauth',
            'params'=>[],
        ];
        //响应数据
        return showSuccess($data);
    }

    public function inviteInformation()
    {
        //邀请好友
        $platform = request()->param('platform', 'web');
        $userId = request()->UserModel->id;
        $yqm = \app\api\model\User::where('id', $userId)->value('invite_code');
        $qrCodeUrl = '';
//        if($platform == 'web')
//        {
//            $qrCodeUrl = $this->qrcode($userId, $yqm);  // 从上一个示例中获取二维码的 URL
//        }elseif ($platform == 'mp-weixin')
//        {
//            $qrCodeUrl = $this->wechatCode($userId, $yqm);
//        }
        $qrCodeUrl = $this->qrcode($userId, $yqm);  // 从上一个示例中获取二维码的 URL

        $logoUrl = 'static/friends.png';
        $text = '邀请码:' . $yqm;
        $textColor = '#000000';

        $qrCodeImg = Image::open($logoUrl);
        $qrCodeImg->water($qrCodeUrl, [250, 800]);

        // 在二维码上添加文字
        $qrCodeImg->text($text, 'static/ysbth.ttf', 30, $textColor, [250, 750]);
//        $qrCodeImg->text($text, '', 20, $textColor, [0, 0]);

        // 保存新的图片到服务器上的一个文件
        $mergedFile = 'uploads/poster/' . $userId . '.png';  // 合成后的文件名
        $qrCodeImg->save($mergedFile);
        return showSuccess(['image_url'=>\app\model\Base::getLocalUrl() . '/' . $mergedFile . '?t='. time()]);
    }

    public function qrcode($userId, $invite_code)
    {
        $code = new QRcode();
        $path = 'uploads/qrcode/' . $userId . '.png';
//        $url = 'http://h5ny.minshangyoupin.com/pages/register/register?invite_code=' . $invite_code;//'http://minshangyoupin.com/apk/download?share_id=' . $userId . '&a=register';
        $url = 'http://h5-offline.ms-zhongyijiankang.com/pages/register/register?invite_code=' . $invite_code;//'http://minshangyoupin.com/apk/download?share_id=' . $userId . '&a=register';
//        $url = 'http://html2.minshangnongyou.com?invite_code=' . $invite_code;//'http://minshangyoupin.com/apk/download?share_id=' . $userId . '&a=register';

        $res = $code->png($url, $path, 5, QR_ECLEVEL_H);
        // 返回二维码的 URL，以便在后续操作中使用
        return $path;
    }

    public function wechatCode($user_id, $invite_code)
    {
        //生成小程码
        $config = [
            'app_id' => 'wxc0b2797c21570a21',
            'secret' => '6102c9f01f26e5a1a7fb0472579792e5',
            // 下面为可选项
            // 指定 API 调用返回结果的类型：array(default)/collection/object/raw/自定义类名
            'response_type' => 'array',
            'log' => [
                'level' => 'debug',
                'file' => __DIR__.'/wechat.log',
            ],
        ];
        $app = Factory::miniProgram($config);
        $response = $app->app_code->getQrCode('/pages/register/register?invite_code=' . $invite_code, 265);
        if ($response instanceof \EasyWeChat\Kernel\Http\StreamResponse) {
            $filename = $response->saveAs('uploads/poster/wechat', $user_id . '.png');
        }
        return 'uploads/poster/wechat/' . $user_id . '.png';
    }



//    public function inviteInformation(){
//        $userId = request()->UserModel->id;
//        $inviteCode = $this->M->where('id', $userId)->value('invite_code');
////        dd($inviteCode);
//        $qrcodePath = $this->generateImage($userId, $inviteCode);
//        $posterPath = $this->merge($userId, $inviteCode, $qrcodePath);
////        $imgPath = \app\model\Base::getOssUrl();
////        var_dump($posterPath);
//        //整理数据
//        $data = [
//            'code'=>$qrcodePath,
//            'imgs'=> $posterPath,
//        ];
//        //响应数据
//        return showSuccess($data);
//    }
//
//    public function walletsInformation(){
//        $alias = request()->param('alias', 'balance');
//        $userId = request()->UserModel->id;
//        $values = $this->M->where('id', $userId)->value($alias);
//        $transferSwitch = $this->M->where('id', $userId)->value('transfer_switch');
//        $title = '我的余额';
//        switch ($alias){
//            case 'balance':{
//                $title = '我的积分';
//            }
//                break;
//            case 'integral':{
//                $title = '我的消费积分';
//            }
//                break;
//            case 'green_points':{
//                $title = '我的绿色积分';
//            }
//                break;
//
//        }
//        //整理数据
//        $data = [
//            'main_title'=>'我的积分钱包',
//            'background'=>get_oss_url('/static/system/accounts/wallets/wallet.png'),
//            'main'=>[
//                'title'=>$title,
//                'amount'=>$values,
//                'alias'=>'none',
//                'params'=>[]
//            ],
//            'sections'=>[
//                'amounts'=>[
//                    'enable'=>true,
//                    'lists'=>[
//                        [
//                            'img'=>get_oss_url('/static/system/accounts/wallets/wallets-icon1.png'),
//                            'title'=>'可用积分',
//                            'amount'=>$values,
//                            'alias'=>'none',
//                            'params'=>[],
//                        ],
//                    ]
//                ],
//                'tools'=>[
//                    'enable'=>true,
//                    'transfer'=>[
//                        'enable'=>false,
//                        'username'=>'',
//                        'type'=>'',
//                        'name'=>'接收转账用户',
//                        'placeholder'=>'请输入接收用户的手机号码',
//                        'button'=>'立即转账',
//                    ],
//                    'lists'=>[
//                        [
//                            'action'=>'transfer',
//                            'img'=>get_oss_url('/static/system/accounts/wallets/wallets-icon3.png'),
//                            'name'=>'转账',
//                            'amount'=>0,
//                            'alias'=>'',
//                            'params'=>[],
//                            'enable'=>($transferSwitch == 'on') ? true : false,
//                        ],
//                        [
//                            'action'=>'',
//                            'img'=>get_oss_url('/static/system/accounts/wallets/wallets-icon4.png'),
//                            'name'=>'兑换',
//                            'amount'=>0,
//                            'alias'=>'account.wallets.withdrawal',
//                            'params'=>[],
//                            'enable'=>true,
//                        ],
//                        [
//                            'action'=>'',
//                            'img'=>get_oss_url('/static/system/accounts/wallets/wallets-icon5.png'),
//                            'name'=>'交易明细',
//                            'amount'=>0,
//                            'alias'=>'account.wallets.logs',
//                            'params'=>[
//                                'alias'=>'balance'
//                            ],
//                            'enable'=>true,
//                        ],
//                    ]
//                ],
//                'properties'=>[
//                    'enable'=>false,
//                    'lists'=>[
//                        [
//                            'action'=>'',
//                            'img'=>get_oss_url('/static/logos/ysyp.png'),
//                            'name'=>'',
//                            'desc'=>'',
//                            'amount'=>0,
//                            'tip'=>'',
//                            'alias'=>'none',
//                            'params'=>[],
//                        ],
//                    ]
//                ],
//            ],
//            'code'=>1,
//            'imgs'=>2,//get_oss_url('/static/logos/ysyp.png'),
//        ];
//        //响应数据
//        return showSuccess($data);
//    }
//
//    public function settingsInformation(){
//        $userId = request()->UserModel->id;
//        $infos = \app\api\model\User::with(['userModeOneLevel', 'userModeThreeLevel'])
//            ->where('id', $userId)->find();
//        //整理数据
//        $data = [
//            'infos'=>[
//                'amounts'=>[
//                    'enable'=>true,
//                    'name'=>'',
//                    'value'=>'',
//                ],
//                'nickname'=>[
//                    'enable'=>true,
//                    'name'=>'',
//                    'value'=>'',
//                ],
//                'gender'=>[
//                    'enable'=>true,
//                    'name'=>'',
//                    'value'=>'',
//                    'columns'=>[],
//                ],
//                'mobile'=>[
//                    'enable'=>true,
//                    'name'=>'手机号码',
//                    'value'=>$infos['phone'],
//                    'mobile'=>$infos['phone'],
//                ],
//                'password'=>[
//                    'enable'=>true,
//                    'name'=>'账户密码',
//                    'value'=>'修改',
//                ],
//                'pay_password'=>[
//                    'enable'=>true,
//                    'name'=>'22',
//                    'value'=>'',
//                ],
//                'mp_wechat_open_id'=>[
//                    'enable'=>true,
//                    'name'=>'',
//                    'value'=>'',
//                ],
//                'app_wechat_open_id'=>[
//                    'enable'=>true,
//                    'name'=>'',
//                    'value'=>'',
//                ],
//                'mini_wechat_open_id'=>[
//                    'enable'=>true,
//                    'name'=>'',
//                    'value'=>'',
//                ],
//                'qq_token'=>[
//                    'enable'=>true,
//                    'name'=>'',
//                    'value'=>'',
//                ],
//                'weibo_token'=>[
//                    'enable'=>true,
//                    'name'=>'',
//                    'value'=>'',
//                ],
//            ],
//            'tools'=>[
//                'feedback'=>[
//                    'enable'=>true,
//                    'name'=>'',
//                    'value'=>'',
//                ],
//                'clear'=>[
//                    'enable'=>true,
//                    'name'=>'',
//                    'value'=>'',
//                ],
//                'version'=>[
//                    'enable'=>true,
//                    'name'=>'',
//                    'value'=>'',
//                ],
//            ],
//            'destroy'=>[
//                'enable'=>true,
//                'name'=>'',
//                'value'=>'',
//            ],
//            'switch'=>[
//                'enable'=>true,
//                'name'=>'',
//                'value'=>'',
//                'alias'=>'',
//                'params'=>[],
//            ],
//            'popups'=>[
//                'destroy'=>[
//                    'title'=>'',
//                    'tip'=>'',
//                    'button'=>'',
//                ],
//                'nickname'=>[
//                    'title'=>'',
//                    'button'=>'',
//                ],
//                'password'=>[
//                    'title'=>'',
//                    'tip'=>'',
//                    'button'=>'确认修改',
//                ],
//                'pay_password'=>[
//                    'title'=>'',
//                    'button'=>'',
//                ],
//                'mobile'=>[
//                    'title'=>'',
//                    'tip'=>'',
//                    'button'=>'确认修改',
//                ],
//            ],
//        ];
//        //响应数据
//        return showSuccess($data);
//    }
//    // 提现
//    public function withdrawalsInformation(){
//        $userId = request()->UserModel->id;
////        $transferPhone = request()->param('username', 0);
//        $infos = \app\api\model\User::where('id', $userId)->find();
//        $alias = 'balance';
//        $bankInfos = [
//
//        ];
//        $formData = [
//            'type'=>0,
//            'amount'=>'',
//            'real_name'=>'',
//            'card_no'=>'',
//            'bank_name'=>'',
//
//            'alipay_login_id'=>'',
//            'mobile'=>'',
//            'id_card'=>'',
//            'ecny_number'=>'',
//            'pay_password'=>'',
//        ];
//
//        $currentIndex = 0;
//        $error = false;
//        if($userBankInfos = UserBank::where('user_id', $userId)->find()){
//            $formData['real_name'] = $userBankInfos['real_name'];
//            $formData['bank_name'] = $userBankInfos['bank_name'];
//            $formData['card_no'] = $userBankInfos['card_no'];
//            $currentIndex = Bank::where('guard_name', $userBankInfos['bank_name'])->value('id') - 1;
//            $error = $userBankInfos['status'] == 'disabled' ? true : false;
//        }
//        $bankList = Bank::field('id, guard_name name')->whereNotNull('guard_name')->select();
//
//        //整理数据
//        $data = [
//            'error'=>$error,
//            'current_index' =>$currentIndex,
//            'bank_list'=>[$bankList],
//            'account'=>[
//                'account_id'=>$infos['id'],
//                'mobile'=>$infos['phone'],
//                'nickname'=>$infos['phone'],
//                'avatar'=>get_oss_url('/static/logo.png'),
//                'amount'=>$infos[$alias] / 100,
//            ],
//            'types'=>[
//                [
//                    'name'=>'银行卡',
//                    'img'=>get_oss_url('/static/system/accounts/wallets/withdrawals-icon1.png'),
//                    'type'=>0,
//                    'inputs'=>[
//                        'bank_name',
//                        'real_name',
//                        'card_no'
//                    ],
//                ]
//            ],
//            'formData'=>$formData,
//            'inputs'=>[
//                'amount'=>[
//                    'name'=>'提现金额',
//                    'placeholder'=>'请输入您本次要提现的金额',
//                    'type'=>'',
//                ],
//                'real_name'=>[
//                    'name'=>'真实姓名',
//                    'placeholder'=>'请输入您的真实姓名',
//                    'type'=>'',
//                ],
//                'alipay_login_id'=>[
//                    'name'=>'',
//                    'placeholder'=>'',
//                    'type'=>'',
//                ],
//                'card_no'=>[
//                    'name'=>'银行卡号',
//                    'placeholder'=>'请输入您的收款卡号',
//                    'type'=>'',
//                ],
//                'mobile'=>[
//                    'name'=>'银行卡绑定手机',
//                    'placeholder'=>'请输入您的银行卡绑定手机',
//                    'type'=>'',
//                ],
//                'bank_name'=>[
//                    'name'=>'开户行',
//                    'placeholder'=>'请输入您的银行卡对应开户行',
//                    'type'=>'',
//                ],
//                'id_card'=>[
//                    'name'=>'',
//                    'placeholder'=>'',
//                    'type'=>'',
//                ],
//                'ecny_number'=>[
//                    'name'=>'',
//                    'placeholder'=>'',
//                    'type'=>'',
//                ],
//
//            ],
//            'amounts'=>[
//                'amount'=>'',
//                'rate'=>0,
//                'tax'=>'',
//                'arrival'=>'',
//            ],
//        ];
//        //响应数据
//        return showSuccess($data);
//    }
//
//    public function withdrawalsApply(){
//        $isOpen = Configs::where('alias', 'IS_OPEN_WITHDRAWAL')->value('content');
//        if($isOpen == 0){
//            return showError('兑换暂停');
//        }
//
//        $timeH = date('H', time());
//        if($timeH >= '09' && $timeH <= '16'){
//            $userInfos = request()->UserModel;
//            if($userInfos['withdraw_switch'] == 'off'){
//                return showError('该账号禁止提现');
//            }
//            $userId = request()->UserModel->id;
//            $params = request()->param();
//            $totalAmount = $params['amount'] * 100;
//            if($userInfos['balance'] < $totalAmount){
//                return showError('余额不足');
//            }
//
//            if(!$user_bank = UserBank::where('user_id', $userId)->find()){
//                if($no = Bank::whereLike('guard_name', $params['bank_name'])->value('no')){
//                    $user_bank = UserBank::create([
//                        'user_id'=>$userId,
//                        'type'=>'bank',
//                        'real_name'=>$params['real_name'],
//                        'bank_name'=>$params['bank_name'],
//                        'card_no'=>$params['card_no'],
//                        'no'=>$no
//                    ]);
//                }else{
//                    return showError('银行选择有误');
//                }
//            }else{
////                if($user_bank['status'] == 'disabled'){
////                    return showError('银行卡信息有误，请修改后再提现');
////                }
//                UserBank::where('user_id', $userId)->update([
//                    'user_id'=>$userId,
//                    'type'=>'bank',
//                    'real_name'=>$params['real_name'],
//                    'bank_name'=>$params['bank_name'],
//                    'card_no'=>$params['card_no'],
//                    'no'=>$user_bank['no'],
//                    'status'=>'waiting'
//                ]);
//            }
////        dd($params);
//            $add = [];
//            $add['user_id'] = $userId;
//            $add['apply_type'] = 'bank';
//            $add['apply_sn'] = 'M' . date('YmdHis').strtoupper(Str::random());
//            $add['money'] = $params['amount'];
//            $add['actual_money'] = $params['amount'];
//            $add['charge_money'] = 0;
//            $add['service_fee'] = 0;
//            $add['user_bank_id'] = $user_bank->id;
//            $add['apply_info'] = json_encode([
//                'bankAccountName'=>$params['real_name'],
//                'bankName'=>$params['bank_name'],
////                'branchName'=>$params['bank_name'],
//                'bankCard'=>$params['card_no'],
//            ], JSON_UNESCAPED_UNICODE);
//
//            \app\api\model\User::deduce($userId, $totalAmount, 'balance', 'balance_withdraw');
//            UserWalletApply::create($add);
//            return showSuccess([], '提现成功');
//        }else{
//            return showError('不在提现时间内');
//        }
//    }
//
//    //实名认证
//    public function certificationInformation(){
////        mode: 'none',
////        none: '立即添加',
////        title: '实名信息',
////        info: {
////            real_name: '',
////            id_card_number: '',
////            front_picture: false,
////            back_picture: false,
////        },
////        tips: [{title: '', content: ''}]
//        //整理数据
//        $data = [
//            'mode'=>'none',
//            'none'=>'立即添加',
//            'title'=>'实名信息',
//            'info'=>[
//                'real_name'=>'',
//                'id_card_number'=>'',
//                'front_picture'=>false,
//                'back_picture'=>false,
//            ],
//            'tips'=>[
//                [
//                    'title'=>'',
//                    'content'=>'',
//                ]
//            ],
//        ];
//        //响应数据
//        return showSuccess($data);
//    }
//    //团队管理
//    public function teamsInformation(){
////        background: '',
////        infos: {
////            avatar: '', nickname: '', rows: [], level_name: '', idents: [],
////            qr: {enable: true, text: '', alias: 'none', params: {}}
////        },
////        search: {enable: false, placeholder: '', button: ''},
////        ad: false,
////        invite: {enable: false, title: '', nickname: '', mobile: ''},
////        counts: {enable: false,
////            lists: [{name: '', count: '', type: ''}]
////        },
////        lists: {enable: false, title: '',
////            filters: {type: '', search_keyword: '', page: 1}
////        }
//        $userId = request()->UserModel->id;
//        $infos = \app\api\model\User::where('id', $userId)->find();
//        $parentInfos = \app\api\model\User::where('id', $infos['pid'])->find();
//        $inviteStatus = true;
//        if(empty($parentInfos)){
//            $parentInfos['id'] = '';
//            $parentInfos['phone'] = '';
//            $inviteStatus = false;
//        }
//        $count = \app\api\model\User::where('pid', $userId)->count();
//        //整理数据
//        $data = [
//            'background'=>get_oss_url('/static/teams-bg.png'),
//            'infos'=>[
//                'avatar'=>get_oss_url('/static/logo.png'),
//                'nickname'=>$infos['phone'],
//                'rows'=>[
//                    'ID：' . $infos['id'],
//                    '手机号码：' . $infos['phone'],
//                    '邀请码：' . $infos['invite_code'],
//                ],
//                'level_name'=>'普通会员',
//                'idents'=>[],
//                'qr'=>[
//                    'enable'=>true,
//                    'text'=>'',
//                    'alias'=>'none',
//                    'params'=>[],
//                ],
//            ],
//            'search'=>[
//                'enable'=>false,
//                'placeholder'=>'',
//                'button'=>'',
//            ],
//            'ad'=>false,
//            'invite'=>[
//                'enable'=>$inviteStatus,
//                'title'=>'我的邀请人',
//                'nickname'=>'ID：' . $parentInfos['id'],
//                'mobile'=>$parentInfos['phone'],
//            ],
//            'counts'=>[
//                'enable'=>true,
//                'lists'=>[
//                    [
//                        'name'=>'直推人数',
//                        'count'=>$count,
//                        'type'=>'',
//                    ]
//                ],
//            ],
//            'lists'=>[
//                'enable'=>true,
//                'title'=>'',
//                'filters'=>[
//                    'type'=>'',
//                    'search_keyword'=>'',
//                    'page'=>1,
//                ]
//            ]
//        ];
//        //响应数据
//        return showSuccess($data);
//    }
//
//    public function teamsLists(){
//        $userId = request()->UserModel->id;
//        $lists = \app\api\model\User::where('pid', $userId)
//            ->append(['level_name', 'values'])
//            ->select();
//        //整理数据
//        $data = [
//            'lists'=>$lists
//        ];
//        //响应数据
//        return showSuccess($data);
//    }


//
//    public function AddressLists(Request $request)
//    {
//        //获取用户ID
//        $user_id = (int)$request->UserModel->id;
//        //查询我的收货地址
//        if ($addresses = UserAddress::where('user_id', $user_id)->select()->toArray()) {
//            //循环收货地址
//            foreach ($addresses as $k => $address) {
//                //整理地区信息
//                $address['area_address'] = $address['province_name'].$address['city_name'].$address['area_name'];
//                //设置信息
//                $addresses[$k] = $address;
//            }
//        }
//        //返回收货地址
//        return showSuccess($addresses);
//    }
//
//    public function logInformation(){
//        $alias = request()->param('alias', 'balance');
//        $userId = request()->UserModel->id;
//        $values = $this->M->where('id', $userId)->value($alias);
//        $title = '我的余额';
//        switch ($alias){
//            case 'balance':{
//                $title = '我的余额';
//            }
//                break;
//            case 'integral':{
//                $title = '我的消费积分';
//            }
//                break;
//            case 'green_points':{
//                $title = '我的绿色积分';
//                $values = ModeOrders::where('user_id', $userId)
//                    ->where('is_delete', 0)
//                    ->where('status', 'payed')
//                    ->whereBetween('type', [1, 2])
//                    ->sum('remain_earnings');
//            }
//                break;
//
//        }
//        //整理数据
//        $data = [
////            search: {enable: false, placeholder: '', button: ''},
////					types: {enable: false, lists: [{alias: '', name: ''}]},
////					popups: {services: {title: '', lists: [], tel: ''}}
//
//            'search'=>[
//                'enable'=>true,
//                'placeholder'=>'',
//                'button'=>'搜索',
//            ],
//            'types'=>[
//                'enable'=>true,
//                'lists'=>[
//                    [
//                        'alias'=>'all',
//                        'name'=>'全部',
//                    ],
//                    [
//                        'alias'=>'paying',
//                        'name'=>'待付款',
//                    ],
//                    [
//                        'alias'=>'delivery',
//                        'name'=>'待发货',
//                    ],
//                    [
//                        'alias'=>'received',
//                        'name'=>'待收货',
//                    ],
//                    [
//                        'alias'=>'closed',
//                        'name'=>'已取消',
//                    ],
//                ]
//            ],
//            'popups'=>[
//                'enable'=>true,
//                'services'=>[
//                    'title'=>'',
//                    'params'=>[],
//                    'tel'=>'',
//                ]
//            ],
//
//            'title'=>$title,
//            'amount'=>$values,
//            'tips'=>'',
//
//            'background'=>get_oss_url('/static/system/accounts/wallets/wallet_logs.png'),
//            'safe'=>[
//                'enable'=>true,
//                'img'=>get_oss_url('/static/system/accounts/wallets/safe.png'),
//                'text'=>'资产持续保护中'
//            ],
//            'lists'=>[
//                'enable'=>true,
//                'title'=>'交易明细',
//                'formData'=>[
//                    'type'=>'',
//                    'page'=> 1,
//                    'alias'=> $alias
//                ]
//            ]
//        ];
//
//        return showSuccess($data);
//    }
//
//    public function balanceTransfersInformation(){
//        $userId = request()->UserModel->id;
//        $transferPhone = request()->param('username', 0);
//        $infos = \app\api\model\User::where('id', $userId)->find();
//        $transferUser = \app\api\model\User::where('phone', $transferPhone)->find();
//        $type = 'balance';
//        //整理数据
//        $data = [
//            'account'=> [
//                'account_id'=>$infos['id'],
//                'mobile'=>$infos['phone'],
//                'nickname'=>$infos['phone'],
//                'avatar'=>get_oss_url('/static/logo.png'),
//            ],
//            'transfer_account'=> [
//                'account_id'=>$transferUser['id'],
//                'mobile'=>$transferUser['phone'],
//                'nickname'=>$transferUser['phone'],
//                'avatar'=>get_oss_url('/static/logo.png'),
//            ],
//            'texts'=> [
//                'transfer_amount'=>'可转：' . ($infos['balance'] / 100),
//                'transfer_input'=>[
//                    'name'=>'转账金额',
//                    'placeholder'=>'请输入金额',
//                ],
//                'transfer_tip'=>'预计接受金额',
//            ],
//            'tips'=> '',
//            'formData'=>[
//                'amount'=>'',
//                'type'=>$type,
//                'username'=>$transferPhone,
//                'pay_password'=>'',
//            ],
//            'amounts'=>[
//                'amount'=>'',
//                'rate'=>0,
//                'tax'=>0,
//                'arrival'=>'',
//            ]
//        ];
//        //响应数据
//        return showSuccess($data);
//    }
//
//    public function balanceTransfersAction(){
//        $params = request()->param();
////        dd($params);
//        $currentUser = request()->UserModel;
//        $currentUserId = $currentUser->id;
//
//        $toUserPhone = $params['username'];
//        $toUserId = \app\api\model\User::where('phone', $toUserPhone)->value('id');
//        $alias = request()->param('type');
//        $amount = (request()->param('amount')) * 100;
//
//        if($amount > $currentUser[$alias])
//        {
//            return showError('可转账额度不足');
//        }
//
//        $title = "";
//        switch ($alias)
//        {
//            case 'balance':
//                $title = '余额';
//                break;
//
//        }
//
//        $deDes = "你向ID：" . $toUserId . "的会员进行" . $title . "转账";
//        $inDes = "你收到来自ID：" . $currentUserId . "的会员的" . $title . "转账";
//        $type = 'balance_transfer';
//        //deduce($userId, $amount, $alias = 'balance', $type = '', $des = '')
//        \app\api\model\User::deduce($currentUserId, $amount, $alias, $type, $deDes);
//        //induce($userId, $amount, $alias = 'balance', $type = '', $des = '')
//        \app\api\model\User::induce($toUserId, $amount, $alias, $type, $inDes);
//
//        return showSuccess([], '转账成功');
//    }
//
//    public function settings(){
//        $param = request()->param();
//        $userId = request()->UserModel->id;
//        $user = $this->M->find($userId);
//        if($user){
//            $this->M->where('id', $userId)->update([
//                'password'=>password_hash($param['password'], PASSWORD_BCRYPT)
//            ]);
//        }else{
//            return showError('无效用户');
//        }
//        return showSuccess([], '修改成功');
//    }
//
//    public function partnerInformation(){
//        $alias = request()->param('alias', 'balance');
//        $userId = request()->UserModel->id;
//        $values = $this->M->where('id', $userId)->value('welfare_points');
//        $invest_balance = ModeOrders::where('user_id', $userId)
//            ->where('status', '=', 'payed')
//            ->where('is_delete', '=', 0)
//            ->where('type', 4)->sum('remain_earnings');//$this->M->where('id', $userId)->value('invest_balance');
//        $invest_count = $this->M->where('id', $userId)->value('invest_count');
//        $mode_three_spending = $this->M->where('id', $userId)->value('mode_three_spending');
//        $mode_three_performance = $this->M->where('id', $userId)->value('mode_three_performance');
//        $mode_three_total = $this->M->where('id', $userId)->value('mode_three_total');
//        $transferSwitch = $this->M->where('id', $userId)->value('transfer_switch');
//        //整理数据
//        $data = [
//            'main_title'=>'合伙人钱包',
//            'background'=>get_oss_url('/static/system/accounts/wallets/wallet.png'),
//            'main'=>[
//                'title'=>'福利分',
//                'amount'=>$values,
//                'alias'=>'account.partner.index',
//                'params'=>[]
//            ],
//            'sections'=>[
//                'amounts'=>[
//                    'enable'=>true,
//                    'lists'=>[
////                        [
////                            'img'=>get_oss_url('/static/system/accounts/wallets/wallets-icon1.png'),
////                            'title'=>'投资份额',
////                            'amount'=>$invest_count,
////                            'alias'=>'account.partner.index',
////                            'params'=>[],
////                        ],
//                        [
//                            'img'=>get_oss_url('/static/system/accounts/wallets/wallets-icon1.png'),
//                            'title'=>'合伙人积分',
//                            'amount'=>$invest_balance,
//                            'alias'=>'account.partner.index',
//                            'params'=>[],
//                        ],
//                        [
//                            'img'=>get_oss_url('/static/system/accounts/wallets/wallets-icon1.png'),
//                            'title'=>'个人消费业绩',
//                            'amount'=>$mode_three_spending,
//                            'alias'=>'account.partner.index',
//                            'params'=>[],
//                        ],
//                        [
//                            'img'=>get_oss_url('/static/system/accounts/wallets/wallets-icon1.png'),
//                            'title'=>'团队消费业绩',
//                            'amount'=>$mode_three_performance,
//                            'alias'=>'account.partner.index',
//                            'params'=>[],
//                        ],
//                        [
//                            'img'=>get_oss_url('/static/system/accounts/wallets/wallets-icon1.png'),
//                            'title'=>'总业绩',
//                            'amount'=>$mode_three_total,
//                            'alias'=>'account.partner.index',
//                            'params'=>[],
//                        ],
//                    ]
//                ],
//                'tools'=>[
//                    'enable'=>true,
//                    'transfer'=>[
//                        'enable'=>false,
//                        'username'=>'',
//                        'type'=>'',
//                        'name'=>'接收转账用户',
//                        'placeholder'=>'请输入接收用户的手机号码',
//                        'button'=>'立即转账',
//                    ],
//                    'lists'=>[
//                        [
//                            'action'=>'transfer',
//                            'img'=>get_oss_url('/static/system/accounts/wallets/wallets-icon3.png'),
//                            'name'=>'转账',
//                            'amount'=>0,
//                            'alias'=>'',
//                            'params'=>[],
//                            'enable'=>false,
//                        ],
//                        [
//                            'action'=>'',
//                            'img'=>get_oss_url('/static/system/accounts/wallets/wallets-icon4.png'),
//                            'name'=>'投资份额' . $invest_count . '份',
//                            'amount'=>0,
//                            'alias'=>'account.partner.index',
//                            'params'=>[],
//                            'enable'=>true,
//                        ],
//                        [
//                            'action'=>'',
//                            'img'=>get_oss_url('/static/system/accounts/wallets/wallets-icon5.png'),
//                            'name'=>'我的订购',
//                            'amount'=>0,
//                            'alias'=>'mode.orders.lists',
//                            'params'=>[
//
//                            ],
//                            'enable'=>true,
//                        ],
//                    ]
//                ],
//                'properties'=>[
//                    'enable'=>false,
//                    'lists'=>[
//                        [
//                            'action'=>'',
//                            'img'=>get_oss_url('/static/logos/ysyp.png'),
//                            'name'=>'',
//                            'desc'=>'',
//                            'amount'=>0,
//                            'tip'=>'',
//                            'alias'=>'none',
//                            'params'=>[],
//                        ],
//                    ]
//                ],
//            ],
//            'code'=>1,
//            'imgs'=>2,//get_oss_url('/static/logos/ysyp.png'),
//
//            'activity2'=>[
//                'enable'=>true,
//                'name'=>'',
//                'img'=>get_oss_url('/static/system/accounts/2.jpg'),
//                'alias'=>'mode.lists',
//                'params'=>[
//                    'type'=>'mode_two'
//                ],
//            ],
//            'activity3'=>[
//                'enable'=>true,
//                'name'=>'',
//                'img'=>get_oss_url('/static/system/accounts/3.jpg'),
//                'alias'=>'mode.lists',
//                'params'=>[
//                    'type'=>'mode_three'
//                ],
//            ],
//        ];
//        //响应数据
//        return showSuccess($data);
//    }

    public function editPassword(){
        $param = request()->param();
        $userId = request()->UserModel->id;
        if($user = $this->M->find($userId)){
            $this->M->where('id', $userId)->update([
                'password'=>password_hash($param['password'], PASSWORD_BCRYPT)
            ]);
        }else{
            return showError('无效用户');
        }
        return showSuccess([], '修改成功');
    }

    public function editPayPassword(){
        $param = request()->param();
        $userId = request()->UserModel->id;
        if($user = $this->M->find($userId)){
            $this->M->where('id', $userId)->update([
                'pay_password'=>md5($param['password'])
            ]);
        }else{
            return showError('无效用户');
        }
        return showSuccess([], '修改成功');
    }

    public function openMemberInformation()
    {
        $userId = request()->UserModel->id;
        $infos = \app\api\model\User::where('id', $userId)->find();

        $merchant_lists = Merchant::field('id, title')->where('status', 'on')->select();
        //整理数据
        $data = [
            'main_title'=>'激活会员',
            'background'=>get_oss_url('/static/teams-bg.png'),
            'infos'=> [
                'avatar'=>get_new_url('/static/system/logo.png'),
                'nickname'=>$infos['phone'],
//                'rows'=>[
//                    'ID：' . $infos['id'],
//                    '手机号码：' . $infos['phone'],
//                    '邀请码：' . $infos['invite_code'],
//                ],
//                'idents'=>[],
//                'qr'=>[],
            ],
            'merchant_lists'=>[
                $merchant_lists
            ],
            'formData'=>[
                'merchant_id'=>$merchant_lists[0]['id']
            ]
        ];
        //响应数据
        return showSuccess($data);
    }

    public function openMemberAction(){
        $user_info = request()->UserModel;
        $merchant_id = request()->param('merchant_id', 0);
        if(Merchant::where('id', $merchant_id)->find())
        {
            if($user_info['score'] < 100000)
            {
                return showError('可用积分不足');
            }else{
                $type = 'member_open';
                $amount = 100000;
                $alias = 'score';
                $isDone = \app\api\model\User::afterOpenMember($user_info['id'], $merchant_id, $amount, $alias, $type);
//                $isDone = \app\api\model\User::afterOpenMember(7, $merchant_id, $amount, $alias, $type);
//                return showSuccess($isDone);
                if($isDone === true){
                    return showSuccess([], '激活成功');
                }else{
                    return showError('激活失败');
                }
            }
        }else{
            return showError('无效商户');
        }
    }

    public function openMerchantInformation()
    {
        $userId = request()->UserModel->id;
        $infos = \app\api\model\User::where('id', $userId)->find();

//        $merchant_lists = Merchant::field('id, title')->where('status', 'on')->select();
        //整理数据
        $data = [
            'main_title'=>'入驻商家',
            'background'=>get_oss_url('/static/teams-bg.png'),
            'infos'=> [
                'avatar'=>get_new_url('/static/system/logo.png'),
                'nickname'=>$infos['phone'],
//                'rows'=>[
//                    'ID：' . $infos['id'],
//                    '手机号码：' . $infos['phone'],
//                    '邀请码：' . $infos['invite_code'],
//                ],
//                'idents'=>[],
//                'qr'=>[],
            ],
//            'merchant_lists'=>[
//                $merchant_lists
//            ]
        ];
        $data['formData'] = [
            'phone'=>'',
            'title'=>'',
            'address'=>'',
//            'merchant_id'=>$merchant_lists[0]['id']
        ];
        //响应数据
        return showSuccess($data);
    }

    public function openMerchantAction(){
        $user_info = request()->UserModel;
        $merchant_id = 0;//request()->param('merchant_id', 0);

        if(Merchant::where('user_id', $user_info['id'])->find())
        {
            return showError('该用户已绑定商户，请使用其他账号进行入驻');
        }else{
            $add = [
                'phone'=>request()->param('phone', ''),
                'title'=>request()->param('title', ''),
                'address'=>request()->param('address', ''),
                'user_id'=>$user_info['id']
            ];

            if($user_info['score'] < 1000000)
            {
                return showError('可用积分不足');
            }else{
                $type = 'merchant_open';
                $amount = 1000000;
                $alias = 'score';
                $isDone = \app\api\model\User::afterOpenMerchant($user_info['id'], $merchant_id, $amount, $alias, $type, $add);
                if($isDone === true){
                    return showSuccess([], '入驻申请成功');
                }else{
                    return showError('入驻申请失败');
                }
            }
        }
    }
}